// 分页请求参数
export interface PageReq {
  current: number // 当前页码，默认值为 1
  size: number // 每页显示记录数，默认值为 10
}

// 分页查询流程部署定义请求对象
export interface QueryActReProcdefReq {
  processName: string // 页面请求参数-流程名称
  pageReq: PageReq // 分页请求对象，包含页码、每页记录数等信息
}

export interface ActReProcdefVO {
  id: string // 主键ID (Java String)
  rev: number // 修订版本号 (Java Integer)
  category: string // 类别 (Java String)
  name: string // 名称 (Java String)
  key: string // 流程 Key (Java String)
  version: number // 版本号 (Java Integer)
  deploymentId: string // 部署 ID (Java String)
  resourceName: string // 资源名称 (Java String)
  dgrmResourceName: string // 流程图资源名称 (Java String)
  description: string // 描述 (Java String)
  hasStartFormKey: number // 是否有启动表单 (Java Integer)
  hasGraphicalNotation: number// 是否含图形标注 (Java Integer)
  suspensionState: number // 挂起状态 (Java Integer)
  tenantId: string // 租户 ID (Java String)
  engineVersion: string // 引擎版本 (Java String)
  derivedFrom: string // 来源部署 ID (Java String)
  derivedFromRoot: string // 根来源部署 ID (Java String)
  derivedVersion: number // 来源版本号 (Java Integer)
}

// 激活/挂起流程定义请求对象
export interface OperateActReProcdefReq {
  processDefinitionId: string // 流程定义ID
  operateType: number // 操作类型 1：激活 2：挂起
}

// 查询流程图或者流程XML请求对象
export interface QueryImageOrXmlReq {
  processDefinitionId: string // 流程定义ID
}

// 查询流程启动动态参数请求对象
export interface QueryDynamicParametersReq {
  processDefinitionId: string // 流程定义ID
}

// 动态参数综合返回对象 VO
export interface DynamicParametersVO {
  formName: string // 表单名称
  taskName: string // 动态变量节点名称
  dynamicVariableName: string // 动态变量名称
  selectLimit: number // 下拉选项个数限制（Java Integer → number）
  selectData: SelectDataVO[]// 下拉框数据列表（Java List<SelectDataVO> → SelectDataVO[]）
  dynamicVariableValue: string[]
}

// 动态参数下拉选择数据对象 VO
export interface SelectDataVO {
  key: string // 下拉 Key（Java String → string）
  label: string // 下拉 Label
  value: string // 下拉 Value
}

// 启动流程请求对象
export interface StartProcessReq {
  processDefinitionId: string
  dynamicParameters: StartProcessDynamicParametersReq[]
}

// 启动流程动态参数请求对象
export interface StartProcessDynamicParametersReq {
  dynamicVariableName: string
  dynamicVariableValue: string[]
}
